package com.base.timer;

import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
 * JDK timer实现方式
 * 缺点：多线程执行定时任务时，只要其中 任务抛了异常，没有被catch，所有任务都会中断
 *
 * @author: May
 * @date 2020/4/13
 */
public class MyTimer {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        // Calendar.HOUR 12小时制， Calendar.HOUR_OF_DAY 24 小时制
        calendar.set(Calendar.HOUR_OF_DAY, 14);
        calendar.set(Calendar.MINUTE, 28);
        calendar.set(Calendar.SECOND, 10);
        Date firstTime = calendar.getTime();

        Timer timer = new Timer("定时器名字");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("任务开始执行" + LocalDateTime.now().getSecond());
            }
        }, firstTime, 1000 * 2);
    }
}
